package com.ruov.common.annotation;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 文件下载注解
 * 可以将接口包装成下载文件功能
 * 支持返回File、SystemUrl、NetworkUrl三种类型
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Download {
    
    /**
     * 下载文件名称，如果为空则使用原始文件名
     */
    String fileName() default "";
    
    /**
     * 是否删除源文件（仅对File类型和SystemUrl类型有效）
     */
    boolean deleteSource() default false;
}
